In H.264/AVC (Advanced Video Coding), which is one of standard specifications of video coding schemes, the profiles of High Profile or higher allow quantization of image data with quantization step sizes that differ from one component of orthogonal transform coefficient to another. The quantization step size for each component of orthogonal transform coefficient may be set based on a reference step value and a quantization matrix (also referred to as a scaling list) defined by a size equivalent to the unit of an orthogonal transform.
A specified value of a quantization matrix is prepared for each prediction mode (intra-prediction mode, inter-prediction mode) and for each transform unit size (4×4, 8×8). Furthermore, users are allowed to specify a unique quantization matrix different from the specified values in a sequence parameter set or picture parameter set. In a case where no quantization matrices are used, quantization step sizes used for quantization have an equal value for all the components.
In HEVC (High Efficiency Video Coding), which is being standardized as a next-generation video coding scheme and which is a successor to H.264/AVC, the concept of coding units (CUs) corresponding to traditional macroblocks has been introduced (see, for example, NPL 1). The range of sizes of coding units is specified by a set of values which are powers of 2, called the largest coding unit (LCU) and the smallest coding unit (SCU), in a sequence parameter set. Furthermore, the specific coding unit size in the range specified by the LCU and the SCU is specified using split_flag.
In HEVC, one coding unit may be divided into one or more orthogonal transform units, or one or more transform units (TUs). An available transform unit size is any of 4×4, 8×8, 16×16, and 32×32.
Meanwhile, the DC component (also referred to as the direct current component) of a quantization matrix (scaling list) is transmitted as data different from the AC components (also referred to as the alternating current components) thereof for purposes such as the reduction in the amount of coding during transmission. Specifically, the DC component of a scaling list is transmitted as a DC coefficient (also referred to as a direct current coefficient) different from AC coefficients (also referred to as alternating current coefficients), which are the AC components of the scaling list.
In order to reduce the amount of coding of the DC coefficient during transmission, it has been suggested that a constant (for example, 8) is subtracted from the value of the DC coefficient and the resulting value (scaling_list_dc_coef_minus8) is encoded using signed exponential Golomb coding (see, for example, NPL 1).